<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <style>
        * {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        #shop-car li {
            border: 1px dotted red;
            margin: 20px 0;
            padding: 20px;
        }

        .container {
            width: 400px;
            padding: 20px;
        }
    </style>

    <div class="container">
        <input type="checkbox" id="isAllCheck" /> 全选
        <ul id="shop-car">
            <!-- <li>
                <input type="checkbox" />
                <div>商品名称:</div>
                <img src="https://img12.360buyimg.com/n0/s80x80_jfs/t1/118064/27/12885/59959/5f17b7efE453f688d/5b33ac76b2aaea9b.jpg" alt="">
                <div>商品价格:50</div>
                <div>购买数量:30</div>
                <div>商品规格: 黑</div>
                <div>是否选中：选中吧OR不选中</div>
            </li> -->
        </ul>
        <p id="totalnum">总数量：xxx</p>
        <p id="totalprice">总价格：xxx</p>
    </div>
    <script>
        // 有已知购物车数据，渲染页面，根据每一个商品中的选中状态决定全选状态、总数量和总价格
        // 数据肯定是后台提供
        let products = [
            {
                goods_name: '小米10-1',
                goods_img: 'https://img12.360buyimg.com/n0/s80x80_jfs/t1/118064/27/12885/59959/5f17b7efE453f688d/5b33ac76b2aaea9b.jpg',
                goods_price: '500',
                goods_attr: '砂石黑4GB+64GB',
                goods_num: 10,
                goods_is_checked: true
            },
            {
                goods_name: '小米10-2',
                goods_img: 'https://img12.360buyimg.com/n0/s80x80_jfs/t1/118064/27/12885/59959/5f17b7efE453f688d/5b33ac76b2aaea9b.jpg',
                goods_price: '510',
                goods_attr: '砂石黑4GB+64GB',
                goods_num: 50,
                goods_is_checked: false
            },
            {
                goods_name: '小米13',
                goods_img: 'https://img12.360buyimg.com/n0/s80x80_jfs/t1/118064/27/12885/59959/5f17b7efE453f688d/5b33ac76b2aaea9b.jpg',
                goods_price: '1010',
                goods_attr: '砂石黑4GB+64GB',
                goods_num: 10,
                goods_is_checked: true
            }
        ]

        // 循环数据，根据数生成对应个数的li
        let oUl = document.querySelector('#shop-car');
        let oP1 = document.querySelector('#totalnum');
        let oP2 = document.querySelector('#totalprice');
        // 2.计算总数量、总价格
        let totalnum = 0, totalprice = 0;
        products.forEach(function(item){
            // 1.渲染
            oUl.innerHTML += `<li>
                <input type="checkbox" ${ item.goods_is_checked ? 'checked' : '' } />
                <div>商品名称:</div>
                <img src="${ item.goods_img }" alt="">
                <div>商品价格:${ item.goods_price }</div>
                <div>购买数量:${ item.goods_num }</div>
                <div>商品规格: ${ item.goods_attr }</div>
                <div>是否选中：${ item.goods_is_checked }</div>
            </li>`;
            
            // 只有被选中了，可以累加
            if(item.goods_is_checked){
                // 数量累加
                totalnum += item.goods_num;
                // 数量*单价 进行累加
                totalprice += item.goods_num * item.goods_price;
            }

        })

        console.log(totalnum, totalprice);
        oP1.innerHTML = totalnum;
        oP2.innerHTML = totalprice;
    </script>
</body>

</html>